types of framework